{"cells":[{"cell_type":"code","execution_count":50,"id":"34f82108-7452-4f54-9f9e-2932fcf27397","metadata":{"trusted":true},"outputs":[{"data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>id</th>\n","      <th>name</th>\n","      <th>date</th>\n","      <th>period</th>\n","      <th>amount</th>\n","      <th>counter</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>664.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>1002</td>\n","      <td>Joe</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>1982.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>1432.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>1004</td>\n","      <td>Tom</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>2986.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>1005</td>\n","      <td>Sue</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>605.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>1006</td>\n","      <td>Jack</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>2536.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>1006</td>\n","      <td>Jack</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>NaN</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>1005</td>\n","      <td>Sue</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>1034.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>1005</td>\n","      <td>Sue</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>1034.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-02</td>\n","      <td>9:00-14:00</td>\n","      <td>1430.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["     id  name       date       period  amount            counter\n","0  1001   Sam 2019-03-01   9:00-14:00   664.0           Cosmetic\n","1  1002   Joe 2019-03-01  14:00-21:00  1982.0           Cosmetic\n","2  1003  Alex 2019-03-01   9:00-14:00  1432.0               Food\n","3  1004   Tom 2019-03-01  14:00-21:00  2986.0               Food\n","4  1005   Sue 2019-03-01   9:00-14:00   605.0          Commodity\n","5  1006  Jack 2019-03-01  14:00-21:00  2536.0          Commodity\n","6  1006  Jack 2019-03-01   9:00-14:00     NaN  Vegetable & Fruit\n","7  1005   Sue 2019-03-01  14:00-21:00  1034.0  Vegetable & Fruit\n","8  1005   Sue 2019-03-01  14:00-21:00  1034.0  Vegetable & Fruit\n","9  1003  Alex 2019-03-02   9:00-14:00  1430.0           Cosmetic"]},"execution_count":50,"metadata":{},"output_type":"execute_result"}],"source":["#导入包\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","#加载数据\n","df=pd.read_excel(\"超市营业额数据.xlsx\")\n","#展示前10行\n","df.head(10)"]},{"cell_type":"code","execution_count":51,"id":"ad7d1dfc-8924-412b-9b50-addef4b366ac","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 256 entries, 0 to 255\n","Data columns (total 6 columns):\n"," #   Column   Non-Null Count  Dtype         \n","---  ------   --------------  -----         \n"," 0   id       256 non-null    int64         \n"," 1   name     256 non-null    object        \n"," 2   date     256 non-null    datetime64[ns]\n"," 3   period   256 non-null    object        \n"," 4   amount   242 non-null    float64       \n"," 5   counter  256 non-null    object        \n","dtypes: datetime64[ns](1), float64(1), int64(1), object(3)\n","memory usage: 12.1+ KB\n"]}],"source":["#数据信息\n","df.info()"]},{"cell_type":"code","execution_count":52,"id":"39039c1b-7fb2-49a6-86f3-7d2a5f24aa29","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 256 entries, 0 to 255\n","Data columns (total 6 columns):\n"," #   Column   Non-Null Count  Dtype         \n","---  ------   --------------  -----         \n"," 0   id       256 non-null    object        \n"," 1   name     256 non-null    object        \n"," 2   date     256 non-null    datetime64[ns]\n"," 3   period   256 non-null    object        \n"," 4   amount   242 non-null    float64       \n"," 5   counter  256 non-null    object        \n","dtypes: datetime64[ns](1), float64(1), object(4)\n","memory usage: 12.1+ KB\n"]}],"source":["#将ID转换为字符\n","for x in df.index:\n","    id=df.loc[x,'id']\n","    df.loc[x,'id']=str(id)\n","    \n","# df['id']=df['id'].apply(lambda x:str(x)) #使用了lambda函数\n","df.info()"]},{"cell_type":"code","execution_count":53,"id":"39b7936e-8c53-46ec-a9bd-df593764fa74","metadata":{"trusted":true},"outputs":[{"data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>amount</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>count</th>\n","      <td>242.000000</td>\n","    </tr>\n","    <tr>\n","      <th>mean</th>\n","      <td>2209.528926</td>\n","    </tr>\n","    <tr>\n","      <th>std</th>\n","      <td>1027.979508</td>\n","    </tr>\n","    <tr>\n","      <th>min</th>\n","      <td>168.000000</td>\n","    </tr>\n","    <tr>\n","      <th>25%</th>\n","      <td>1368.500000</td>\n","    </tr>\n","    <tr>\n","      <th>50%</th>\n","      <td>2375.000000</td>\n","    </tr>\n","    <tr>\n","      <th>75%</th>\n","      <td>3016.750000</td>\n","    </tr>\n","    <tr>\n","      <th>max</th>\n","      <td>4522.000000</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["            amount\n","count   242.000000\n","mean   2209.528926\n","std    1027.979508\n","min     168.000000\n","25%    1368.500000\n","50%    2375.000000\n","75%    3016.750000\n","max    4522.000000"]},"execution_count":53,"metadata":{},"output_type":"execute_result"}],"source":["# 数据描述\n","df.describe()"]},{"cell_type":"code","execution_count":54,"id":"98a1c814-95bb-457a-9ff0-da42e844d5f6","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["0      False\n","1      False\n","2      False\n","3      False\n","4      False\n","       ...  \n","251    False\n","252    False\n","253    False\n","254    False\n","255    False\n","Length: 256, dtype: bool\n"]},{"data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>id</th>\n","      <th>name</th>\n","      <th>date</th>\n","      <th>period</th>\n","      <th>amount</th>\n","      <th>counter</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>8</th>\n","      <td>1005</td>\n","      <td>Sue</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>1034.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>1002</td>\n","      <td>Joe</td>\n","      <td>2019-03-02</td>\n","      <td>9:00-14:00</td>\n","      <td>3345.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>40</th>\n","      <td>1006</td>\n","      <td>Jack</td>\n","      <td>2019-03-05</td>\n","      <td>9:00-14:00</td>\n","      <td>974.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>157</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-19</td>\n","      <td>9:00-14:00</td>\n","      <td>569.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["       id  name       date       period  amount            counter\n","8    1005   Sue 2019-03-01  14:00-21:00  1034.0  Vegetable & Fruit\n","14   1002   Joe 2019-03-02   9:00-14:00  3345.0          Commodity\n","40   1006  Jack 2019-03-05   9:00-14:00   974.0          Commodity\n","157  1003  Alex 2019-03-19   9:00-14:00   569.0  Vegetable & Fruit"]},"execution_count":54,"metadata":{},"output_type":"execute_result"}],"source":["# 查看重复数据. df.duplicated()返回值为一个bool型的Series\n","print(df.duplicated())\n","# 传入和行数相同的bool型的Series，loc将展示值为true的行\n","df.loc[df.duplicated()]"]},{"cell_type":"code","execution_count":55,"id":"d81b0eed-59a1-463b-81ce-f14bf025f4cb","metadata":{"trusted":true},"outputs":[{"data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>id</th>\n","      <th>name</th>\n","      <th>date</th>\n","      <th>period</th>\n","      <th>amount</th>\n","      <th>counter</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>664.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>1002</td>\n","      <td>Joe</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>1982.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>1432.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>1004</td>\n","      <td>Tom</td>\n","      <td>2019-03-01</td>\n","      <td>14:00-21:00</td>\n","      <td>2986.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>1005</td>\n","      <td>Sue</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>605.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>251</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-31</td>\n","      <td>14:00-21:00</td>\n","      <td>3625.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>252</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-31</td>\n","      <td>9:00-14:00</td>\n","      <td>2717.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>253</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-31</td>\n","      <td>14:00-21:00</td>\n","      <td>3281.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>254</th>\n","      <td>1002</td>\n","      <td>Joe</td>\n","      <td>2019-03-31</td>\n","      <td>9:00-14:00</td>\n","      <td>NaN</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>255</th>\n","      <td>1003</td>\n","      <td>Alex</td>\n","      <td>2019-03-31</td>\n","      <td>14:00-21:00</td>\n","      <td>3558.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>252 rows × 6 columns</p>\n","</div>"],"text/plain":["       id  name       date       period  amount            counter\n","0    1001   Sam 2019-03-01   9:00-14:00   664.0           Cosmetic\n","1    1002   Joe 2019-03-01  14:00-21:00  1982.0           Cosmetic\n","2    1003  Alex 2019-03-01   9:00-14:00  1432.0               Food\n","3    1004   Tom 2019-03-01  14:00-21:00  2986.0               Food\n","4    1005   Sue 2019-03-01   9:00-14:00   605.0          Commodity\n","..    ...   ...        ...          ...     ...                ...\n","251  1003  Alex 2019-03-31  14:00-21:00  3625.0               Food\n","252  1003  Alex 2019-03-31   9:00-14:00  2717.0          Commodity\n","253  1001   Sam 2019-03-31  14:00-21:00  3281.0          Commodity\n","254  1002   Joe 2019-03-31   9:00-14:00     NaN  Vegetable & Fruit\n","255  1003  Alex 2019-03-31  14:00-21:00  3558.0  Vegetable & Fruit\n","\n","[252 rows x 6 columns]"]},"execution_count":55,"metadata":{},"output_type":"execute_result"}],"source":["# 删除重复数据\n","df.drop_duplicates()"]},{"cell_type":"code","execution_count":56,"id":"237315f5","metadata":{},"outputs":[{"data":{"text/plain":["0       True\n","1      False\n","2      False\n","3      False\n","4      False\n","       ...  \n","251    False\n","252    False\n","253     True\n","254    False\n","255    False\n","Name: name, Length: 256, dtype: bool"]},"execution_count":56,"metadata":{},"output_type":"execute_result"}],"source":["#判断哪些行是Sam的记录\n","df['name']=='Sam'\n"]},{"cell_type":"code","execution_count":57,"id":"5b32f7fb","metadata":{},"outputs":[{"data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>id</th>\n","      <th>name</th>\n","      <th>date</th>\n","      <th>period</th>\n","      <th>amount</th>\n","      <th>counter</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-01</td>\n","      <td>9:00-14:00</td>\n","      <td>664.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-02</td>\n","      <td>14:00-21:00</td>\n","      <td>2680.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>33</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-04</td>\n","      <td>9:00-14:00</td>\n","      <td>1823.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>57</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-07</td>\n","      <td>14:00-21:00</td>\n","      <td>2598.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>58</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-07</td>\n","      <td>14:00-21:00</td>\n","      <td>3001.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>72</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-09</td>\n","      <td>14:00-21:00</td>\n","      <td>2522.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>87</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-11</td>\n","      <td>14:00-21:00</td>\n","      <td>3428.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>101</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-12</td>\n","      <td>14:00-21:00</td>\n","      <td>592.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>115</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-14</td>\n","      <td>14:00-21:00</td>\n","      <td>2676.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>129</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-16</td>\n","      <td>14:00-21:00</td>\n","      <td>2650.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>143</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-18</td>\n","      <td>14:00-21:00</td>\n","      <td>1266.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>158</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-19</td>\n","      <td>14:00-21:00</td>\n","      <td>1414.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>168</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-21</td>\n","      <td>14:00-21:00</td>\n","      <td>3670.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>182</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-22</td>\n","      <td>14:00-21:00</td>\n","      <td>3102.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>196</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-24</td>\n","      <td>14:00-21:00</td>\n","      <td>3622.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","    <tr>\n","      <th>210</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-26</td>\n","      <td>14:00-21:00</td>\n","      <td>1725.0</td>\n","      <td>Food</td>\n","    </tr>\n","    <tr>\n","      <th>224</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-28</td>\n","      <td>14:00-21:00</td>\n","      <td>518.0</td>\n","      <td>Cosmetic</td>\n","    </tr>\n","    <tr>\n","      <th>239</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-29</td>\n","      <td>14:00-21:00</td>\n","      <td>2651.0</td>\n","      <td>Vegetable &amp; Fruit</td>\n","    </tr>\n","    <tr>\n","      <th>253</th>\n","      <td>1001</td>\n","      <td>Sam</td>\n","      <td>2019-03-31</td>\n","      <td>14:00-21:00</td>\n","      <td>3281.0</td>\n","      <td>Commodity</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["       id name       date       period  amount            counter\n","0    1001  Sam 2019-03-01   9:00-14:00   664.0           Cosmetic\n","17   1001  Sam 2019-03-02  14:00-21:00  2680.0  Vegetable & Fruit\n","33   1001  Sam 2019-03-04   9:00-14:00  1823.0  Vegetable & Fruit\n","57   1001  Sam 2019-03-07  14:00-21:00  2598.0          Commodity\n","58   1001  Sam 2019-03-07  14:00-21:00  3001.0          Commodity\n","72   1001  Sam 2019-03-09  14:00-21:00  2522.0               Food\n","87   1001  Sam 2019-03-11  14:00-21:00  3428.0           Cosmetic\n","101  1001  Sam 2019-03-12  14:00-21:00   592.0  Vegetable & Fruit\n","115  1001  Sam 2019-03-14  14:00-21:00  2676.0          Commodity\n","129  1001  Sam 2019-03-16  14:00-21:00  2650.0               Food\n","143  1001  Sam 2019-03-18  14:00-21:00  1266.0           Cosmetic\n","158  1001  Sam 2019-03-19  14:00-21:00  1414.0  Vegetable & Fruit\n","168  1001  Sam 2019-03-21  14:00-21:00  3670.0           Cosmetic\n","182  1001  Sam 2019-03-22  14:00-21:00  3102.0  Vegetable & Fruit\n","196  1001  Sam 2019-03-24  14:00-21:00  3622.0          Commodity\n","210  1001  Sam 2019-03-26  14:00-21:00  1725.0               Food\n","224  1001  Sam 2019-03-28  14:00-21:00   518.0           Cosmetic\n","239  1001  Sam 2019-03-29  14:00-21:00  2651.0  Vegetable & Fruit\n","253  1001  Sam 2019-03-31  14:00-21:00  3281.0          Commodity"]},"execution_count":57,"metadata":{},"output_type":"execute_result"}],"source":["#查看Sam的所有记录\n","df[df['name']=='Sam']"]},{"cell_type":"code","execution_count":58,"id":"608a3cbc-83eb-4292-a3dc-1f2613bbed5b","metadata":{"trusted":true},"outputs":[],"source":["# 有空值的行\n","row_with_null = df[\"amount\"].isnull()\n","# 有空值的dataframe\n","df_null_row_only = df[row_with_null]\n","# 循环遍历交易额有缺失值的行\n","for i in df_null_row_only.index:\n","    #与该行名字相同的所有行\n","    cur_staff_all_rows = df[\"name\"] == df.loc[i, \"name\"] \n","    # 取到该职员的所有交易额\n","    cur_staff_all_amount = df.loc[cur_staff_all_rows, \"amount\"]\n","    #使用交易额中位数填充\n","    df.loc[i, \"amount\"] = round(cur_staff_all_amount.median())\n"]},{"cell_type":"code","execution_count":59,"id":"3e5d0135-f484-4c4c-8df1-3d0bb643ecc1","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 256 entries, 0 to 255\n","Data columns (total 6 columns):\n"," #   Column   Non-Null Count  Dtype         \n","---  ------   --------------  -----         \n"," 0   id       256 non-null    object        \n"," 1   name     256 non-null    object        \n"," 2   date     256 non-null    datetime64[ns]\n"," 3   period   256 non-null    object        \n"," 4   amount   256 non-null    float64       \n"," 5   counter  256 non-null    object        \n","dtypes: datetime64[ns](1), float64(1), object(4)\n","memory usage: 12.1+ KB\n"]}],"source":["df.info()"]},{"cell_type":"code","execution_count":60,"id":"3fd0336b-d5c5-47b1-ac22-6604aa13574e","metadata":{"trusted":true},"outputs":[{"data":{"text/plain":["Int64Index([], dtype='int64')"]},"execution_count":60,"metadata":{},"output_type":"execute_result"}],"source":["df[df[\"amount\"].isnull()].index"]},{"cell_type":"code","execution_count":61,"id":"3fc6550f-72f2-4ea2-b0ac-8875ebe97f36","metadata":{"trusted":true},"outputs":[{"data":{"text/plain":["2656"]},"execution_count":61,"metadata":{},"output_type":"execute_result"}],"source":["# Sue交易额中位数\n","round(df.loc[df['name']==\"Sue\",\"amount\"].median())"]},{"cell_type":"code","execution_count":62,"id":"5571fa22","metadata":{},"outputs":[{"data":{"text/plain":["3995.0"]},"execution_count":62,"metadata":{},"output_type":"execute_result"}],"source":["# Sue交易额最大值\n","df.loc[df['name']==\"Sue\",\"amount\"].max()"]},{"cell_type":"code","execution_count":63,"id":"ba73e657-a94a-4917-9506-3841d8459da3","metadata":{"trusted":true},"outputs":[{"data":{"text/plain":["counter\n","Commodity            154290.0\n","Cosmetic             134494.0\n","Food                 141493.0\n","Vegetable & Fruit    136419.0\n","Name: amount, dtype: float64"]},"execution_count":63,"metadata":{},"output_type":"execute_result"}],"source":["# https://pandas.pydata.org/docs/getting_started/intro_tutorials/06_calculate_statistics.html\n","# 按柜台统计交易额\n","df2=df.groupby(['counter'])['amount'].sum()\n","df2"]},{"cell_type":"code","execution_count":64,"id":"4fdcb48e-4a85-4cad-9181-bfc85464105e","metadata":{"trusted":true},"outputs":[{"data":{"image/png":"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MTk5ua5bt241zz777LqBAweGxYjQZ555pmtRUVHHV199de2jjz7aPTExsf6WW27Z9swzz3Q9//zzK1JSUmqcjvFgHNQquvaihZc289A4+9Z438lYAwiaHiOp0c/5zT1md8Hdbd+a+nWT+7Ps51RhrWzcGv8HRP1IsCxZvXuq00GEvzw7AT3mdCAq8Orr6zn//POPufzyy7d98MEHPwJ89dVXCRs2bIgNl+TT2J133rml4efXX3+926BBg3ZHevLRvu0G+Z4/0/pkFZHSXWv1/90/j6bkFV7e8m4q0nzwwQedYmJiTOMP9ZNPPnn3WWedVXXDDTf07tevX2ZqamrGiy++eEjD/ieccEL/M8444+jevXtn3Xzzzb2ef/75LllZWempqakZxcXFcQAXX3xxyhVXXNEnOzs7rXfv3lkffPBBp1GjRqUcddRRmRdffHFKw7kmTJjQJTU1NaNfv36ZN910075Kx3//+9+7pqSkDMjKykqfP3/+vi/mt99+e8/77rvvsFdeeeWQJUuWJI4ZM+aotLS0jDfeeMNz5pln7lsw95133kkeMWKEXwvoOk0/hADyPecCDzkdRqgcIT9H1Jp0DpuQklfY3+kgVGAtXrw4ITs7+7+G1b/66qudvV5vQklJSfHnn3++/L777uu9Zs2aWACfz5cwceLEtStWrFgyffr0rsuXL4/3er0lV1555dYnnnhi34K95eXlMQsXLvQVFBSsGz169DHjxo3bvGLFimKfz5cwf/78hNLS0tj8/Pxes2bNWr506dLihQsXdnzttdc6r1mzJragoKDn/PnzfQsWLPAtX748oWl8V1999fYBAwbsevXVV3/0+XxLL7300vJVq1bFb9iwIQZg4sSJXa+++uqtwXzvAkWTT77nGKxFF8XpUEKlM1XteWXr1koC3kzJK/yvDwIVfebOndvp0ksvLYuJieGII46oPfHEE6vmzZuXCJCVlbWzb9++NQkJCaZPnz7VI0eOLAfIzs7evXbt2n1D9HNycna4XC6OO+64XV27dq0ZMmTIbrfbTWpq6u5Vq1bFzZs3r+NJJ51U2bNnz9rY2Fguu+yystmzZyfNmTNn3/b4+Hhz0UUXtbgUlsvl4tJLL9324osvdtm6dav7+++/Txo1alR58N6hwAlG5cTIke/piLVEkMfpUELJTf3hsdTurSFG57T4Jwv4O3B9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","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["ax=df2.plot(kind='pie')\n","ax.legend(loc=(1.2,0.5))\n","ax.set_title(\"Counter Pie\")\n","plt.show()"]},{"cell_type":"code","execution_count":65,"id":"00792ffb-1cb1-46d0-b8f6-6c8e2291398b","metadata":{"trusted":true},"outputs":[{"data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th>counter</th>\n","      <th>Commodity</th>\n","      <th>Cosmetic</th>\n","      <th>Food</th>\n","      <th>Vegetable &amp; Fruit</th>\n","    </tr>\n","    <tr>\n","      <th>name</th>\n","      <th></th>\n","      <th></th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>Alex</th>\n","      <td>50738.0</td>\n","      <td>41802.0</td>\n","      <td>39900.0</td>\n","      <td>39357.0</td>\n","    </tr>\n","    <tr>\n","      <th>Jack</th>\n","      <td>13519.0</td>\n","      <td>4831.0</td>\n","      <td>5332.0</td>\n","      <td>12813.0</td>\n","    </tr>\n","    <tr>\n","      <th>Joe</th>\n","      <td>25451.0</td>\n","      <td>25045.0</td>\n","      <td>29705.0</td>\n","      <td>25664.0</td>\n","    </tr>\n","    <tr>\n","      <th>Sam</th>\n","      <td>15178.0</td>\n","      <td>9546.0</td>\n","      <td>6897.0</td>\n","      <td>12262.0</td>\n","    </tr>\n","    <tr>\n","      <th>Sue</th>\n","      <td>35031.0</td>\n","      <td>30655.0</td>\n","      <td>41211.0</td>\n","      <td>28375.0</td>\n","    </tr>\n","    <tr>\n","      <th>Tom</th>\n","      <td>14373.0</td>\n","      <td>22615.0</td>\n","      <td>18448.0</td>\n","      <td>17948.0</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["counter  Commodity  Cosmetic     Food  Vegetable & Fruit\n","name                                                    \n","Alex       50738.0   41802.0  39900.0            39357.0\n","Jack       13519.0    4831.0   5332.0            12813.0\n","Joe        25451.0   25045.0  29705.0            25664.0\n","Sam        15178.0    9546.0   6897.0            12262.0\n","Sue        35031.0   30655.0  41211.0            28375.0\n","Tom        14373.0   22615.0  18448.0            17948.0"]},"execution_count":65,"metadata":{},"output_type":"execute_result"}],"source":["# 展示每个员工在不同柜台上的交易总额\n","df3=df.pivot_table(index='name',columns='counter',values='amount',aggfunc=\"sum\").apply(round)\n","df3"]},{"cell_type":"code","execution_count":66,"id":"5d1b4f43-f4e6-4303-9831-d897cf90a4b5","metadata":{"trusted":true},"outputs":[{"data":{"image/png":"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PJvvh5a+BPxXaUNLs7Oz/WAebqOhpXK4W758eYX+0CqPbrzxRlq3bs0111yT6lAKFfd3NrMFMSNC91JqzcDdPwZaFVO+ETi3mHIHbijhXI8CjxZTngu0KC0WEZHypk2bNhx11FH86U9/SnUoh6Ri9nSIiJQTCxYsSHUICaG5iURERMlARESUDEREBCUDERFBHcgicmudBJ9va1y7pXoK6/z8fN5++21++tOfApCbm8vjjz/Offfdl5TrlzeqGYhI0hVMYd25c2c++ugjFixYwB//+Ee+/PLLpMWQn5/P3//+98L17OzswzYRgJKBiKTAgU5hvW7dOjp27EhWVhYtWrTgzTffBKBWrVoMHTqU5s2bc9555zFv3jw6d+5MkyZNmD59OgB79uxh6NChtG3blpYtW/Lwww8DMGzYMN58802ysrK49957mT17NhdffDEA27ZtY+DAgWRmZtKyZUumTp2azF9PSqiZSESSLp4prDds2EDbtm3p2LEjf//73+nWrRt/+MMf2LNnD9u3bwfgm2++4ZxzzmH06NH06tWLm2++mZkzZ7Js2TJycnLo0aMH48aNo06dOsyfP5+dO3dy1lln0bVrV0aNGsU999zD888/D0TPTChwxx13UKdOHZYsWQJE02JXdkoGIlJulDSFddu2bRk0aBC7d+/m0ksvLZw3qHr16lxwQfQsrMzMTI444giqVau217TWM2bMYPHixYWzpG7dupVVq1ZRvXr1EuN49dVXC5/ABlCvXr0S960s1EwkIknXvHnzA7pzt2PHjsyZM4fjjz+eAQMG8PjjjwNQrVo1ounQSp7W2t0ZO3YseXl55OXl8cknnxQ+C0G+p2QgIkl3oFNYf/rppzRo0IDrrruOa6+9loULF8Z9rW7duvHggw+ye/duAD788EO++eabfaaijnX++efz17/+tXBdzUQiUvnFORQ0kQ50CusJEyYwevRoqlWrRq1atQprBvG49tpryc/P5/TTT8fdSU9PZ9q0abRs2ZK0tDRatWrFgAEDaN26deExN998MzfccAMtWrQgLS2NESNGcNlll5XFr6LcKHUK6/JKU1iLHBxNYX14ONAprNVMJCIiSgYiIqJkICIiKBmIiAhKBiIigpKBiIig+wxEDnuZEzITer4lOUtK3SctLY3MzO+vO23aNDIyMg76mvn5+Vx88cV88MEHB32O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","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}],"source":["ax1=df3.plot(kind=\"bar\")\n","# 添加横轴标签\n","ax1.set_xlabel(\"Staff Performance\")\n","# 添加图例\n","ax1.legend(loc=\"upper right\")\n","plt.show()"]},{"cell_type":"code","execution_count":67,"id":"d796b0ad-7944-4a41-8b61-a73845bd5436","metadata":{},"outputs":[{"data":{"text/plain":["Text(0.5, 0, 'Date')"]},"execution_count":67,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}],"source":["# 营业额跟时间段的关系\n","df4=df.pivot_table(index='date',columns='period',values='amount',aggfunc=\"sum\").apply(round)\n","ax4=df4.plot()\n","ax4.set_title(\"Rel of Priod And Amount \")\n","ax4.set_xlabel(\"Date\")"]},{"cell_type":"code","execution_count":68,"id":"d59b97b5","metadata":{},"outputs":[{"data":{"text/plain":["name\n","Alex    73\n","Jack    21\n","Joe     55\n","Sam     19\n","Sue     54\n","Tom     34\n","Name: period, dtype: int64"]},"execution_count":68,"metadata":{},"output_type":"execute_result"}],"source":["df5=df.groupby(['name'])['period'].count()\n","df5"]}],"metadata":{"kernelspec":{"display_name":"Python 3.10.2 ('venv': venv)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.10.2"},"vscode":{"interpreter":{"hash":"1577a05ddfca352f4d657d7bbde71d44e58f3858e3f81e48a10db2a97469c5a1"}}},"nbformat":4,"nbformat_minor":5}
